package com.johnny.dataStructures.sort;

import java.util.Arrays;

public class SelectSort {
    public static void main(String[] args) {
//         int[] arr = {3, 9, -1, 10, -2};
        int[] arr = new int[80000];
        for(int i=0;i<80000;i++){
            arr[i]=(int)(Math.random()*800000);
        }
//        System.out.println(Arrays.toString(arr));
        long begin = System.currentTimeMillis();
        selectSort(arr);
        long end = System.currentTimeMillis();
        long time = (end-begin);
      //  System.out.println(Arrays.toString(arr));
        System.out.println(time);
    }

    //选择排序
    public static void selectSort(int[] arr) {
        //使用逐步推导的方式
        for (int i = 0; i < arr.length-1; i++) {
            int minIndex = i;
            int min = arr[i];
            for (int j = i + 1; j < arr.length; j++) {
                if (min > arr[j]) {//说明假定的最小值，并不是最小
                    min = arr[j];  //重置min
                    minIndex = j;  //重置minIndex
                }
            }
            //将最小值，放在arr[0]的位置
            if (minIndex != i) {  //无需与自己交换
                arr[minIndex] = arr[i];
                arr[i] = min;
            }
        }
    }
}
